import type { InjectionKey, Ref } from "vue"

export interface DropdownSymbol {
  isHovered?: Ref<boolean>,
  visible: Ref<boolean>,
  triggerType: 'click' | 'hover',
  open: () => void,
  close: () => void,
  toggleVisible: () => void,
  top: Ref<number>,
  left: Ref<number>,
  menuPlacement: 'left' | 'center',
  setPosition: (top: number, left: number) => void,
  selected: Ref<string>,
  select: (value: string | number) => void,
}

export const dropdownSymbol: InjectionKey<DropdownSymbol> = Symbol('dropdownSymbol')
